﻿using System;
using SharpSqlAnalyzer.nodes;
using SharpSqlAnalyzer.nodes.mssql;

namespace SharpSqlAnalyzer.stmt.mssql
{
	// Token: 0x02000161 RID: 353
	public class TMssqlBeginTran : TCustomSqlStatement
	{
		// Token: 0x06000C07 RID: 3079 RVA: 0x00306DD3 File Offset: 0x00304FD3
		public TMssqlBeginTran(EDbVendor dbvendor) : base(dbvendor)
		{
			this.sqlstatementtype = ESqlStatementType.sstmssqlbegintran;
		}

		// Token: 0x06000C08 RID: 3080 RVA: 0x00306DE4 File Offset: 0x00304FE4
		internal override void buildsql()
		{
		}

		// Token: 0x06000C09 RID: 3081 RVA: 0x00306DE6 File Offset: 0x00304FE6
		internal override void clear()
		{
		}

		// Token: 0x06000C0A RID: 3082 RVA: 0x00306DE8 File Offset: 0x00304FE8
		internal override string getasprettytext()
		{
			return "";
		}

		// Token: 0x06000C0B RID: 3083 RVA: 0x00306DEF File Offset: 0x00304FEF
		internal virtual void iterate(TVisitorAbs pvisitor)
		{
		}

		// Token: 0x17000233 RID: 563
		// (get) Token: 0x06000C0C RID: 3084 RVA: 0x00306DF1 File Offset: 0x00304FF1
		// (set) Token: 0x06000C0D RID: 3085 RVA: 0x00306DF9 File Offset: 0x00304FF9
		public virtual TObjectName TransactionName
		{
			get
			{
				return this.transactionName;
			}
			set
			{
				this.transactionName = value;
			}
		}

		// Token: 0x17000234 RID: 564
		// (get) Token: 0x06000C0E RID: 3086 RVA: 0x00306E02 File Offset: 0x00305002
		// (set) Token: 0x06000C0F RID: 3087 RVA: 0x00306E0A File Offset: 0x0030500A
		public virtual bool Distributed
		{
			get
			{
				return this.distributed;
			}
			set
			{
				this.distributed = value;
			}
		}

		// Token: 0x17000235 RID: 565
		// (get) Token: 0x06000C10 RID: 3088 RVA: 0x00306E13 File Offset: 0x00305013
		// (set) Token: 0x06000C11 RID: 3089 RVA: 0x00306E1B File Offset: 0x0030501B
		public virtual bool WithMark
		{
			get
			{
				return this.withMark;
			}
			set
			{
				this.withMark = value;
			}
		}

		// Token: 0x17000236 RID: 566
		// (get) Token: 0x06000C12 RID: 3090 RVA: 0x00306E24 File Offset: 0x00305024
		// (set) Token: 0x06000C13 RID: 3091 RVA: 0x00306E2C File Offset: 0x0030502C
		public virtual TConstant WithMarkDescription
		{
			get
			{
				return this.withMarkDescription;
			}
			set
			{
				this.withMarkDescription = value;
			}
		}

		// Token: 0x06000C14 RID: 3092 RVA: 0x00306E38 File Offset: 0x00305038
		public override int doParseStatement(TCustomSqlStatement psql)
		{
			if (this.rootNode == null)
			{
				return -1;
			}
			TMssqlBeginTranSqlNode tmssqlBeginTranSqlNode = (TMssqlBeginTranSqlNode)this.rootNode;
			base.doParseStatement(psql);
			this.transactionName = tmssqlBeginTranSqlNode.TransactionName;
			this.distributed = tmssqlBeginTranSqlNode.Distributed;
			this.withMark = tmssqlBeginTranSqlNode.WithMark;
			this.withMarkDescription = tmssqlBeginTranSqlNode.WithMarkDescription;
			return 0;
		}

		// Token: 0x06000C15 RID: 3093 RVA: 0x00306E94 File Offset: 0x00305094
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x06000C16 RID: 3094 RVA: 0x00306EA4 File Offset: 0x003050A4
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x040012CE RID: 4814
		private TObjectName transactionName;

		// Token: 0x040012CF RID: 4815
		private bool distributed;

		// Token: 0x040012D0 RID: 4816
		private bool withMark;

		// Token: 0x040012D1 RID: 4817
		private TConstant withMarkDescription;
	}
}
